ATM is used in providing several types of communication traffic, particularly for traffic carried over long distances. In general, traffic in ATM can be conceived of virtual connections between networks. Each virtual connection could include many concurrent sessions, such as TCP/IP sessions.
Like traffic that is typically carried over the Internet, for example using DiffServ, ATM provides for different levels of service. In particular, ATM includes six service categories: constant bit rate (CBR), realtime variable bit rate (rt-VBR), non-realtime variable bit rate (nrt-VBR), unspecified bit rate (UBR), available bit rate (ABR), and guaranteed frame rate (GFR). In order to monitor the levels of service, ATM uses a generic cell rate algorithm (GCRA). A network administrator of a network receiving traffic uses the GCRA to determine whether the traffic offered is consistent with their service agreement and any quality of service parameters. The GCRA can be used by the sender to determine whether the network treats the traffic offered correctly. Stated differently, the GCRA allows the buyer or seller of ATM service to determine whether bandwidth bought or sold, which corresponds to the flows in the traffic within the network, conforms to a service agreement.
Furthermore, the six categories of ATM service can be described using several parameters. Peak cell rate (PCR) is the maximum bandwidth that can be allocated to a flow of a particular level of service. Cell delay variation tolerance (CDVT) is a jitter specification for a level of service. In addition, the sustainable cell rate (SCR) is a minimum bandwidth guarantee specified for a particular flow. Maximum burst size (MBS) is the maximum burst size allowed for the flow. The minimum cell rate (MCR) is the minimum bandwidth guarantee specified for the flow. The MCR is used only by the ABR and GFR levels of service. The Maximum frame size (MFS) is used only by GFR and, as the name indicates, specifies the maximum frame size for the GFR flow. Furthermore, a network administrator for a network using ATM specifies parameters including: peak-to-peak cell delay variation (peak-to-peak CDV) to specify the allowed jitter, the maximum cell transit delay (MaxCTD) to specify the allowed latency, and the cell loss rate (CLR) to specify the allowed cell loss rate.
Using the parameters above, ATM traffic can provide different levels of service. ATM standards do require that the parameters be met and that traffic may be monitored at the entrance and exit of each network. In other words, ATM specifies the goals, such as the MCR, to be met for each flow. However, ATM does not otherwise specify how traffic is controlled to meet the goals for each the above categories of service.
FIG. 1 depicts a conventional system 10 used in providing different levels of service for ATM traffic. The conventional system 10 is preferably used at the edge of a network (not explicitly shown). Thus, the conventional system 10 is used to ensure that flows entering and/or leaving the network conform to the parameters for each level of service. For clarity, the conventional system 10 is depicted as having five flows 20, 22, 24, 26, and 28. However, the conventional system 10 typically manages a large number of flows. The five flows 20, 22, 24, 26, and 28 include two realtime flows 20 and 22, and three non-realtime flows 24, 26, and 28. For example, the realtime flows 20 and 22 might be rt-VBR and CBR flows and the non-realtime flows 24, 26, and 28 might be nrt-VBR, UBR, and CBR flows. Each flow 20, 22, 24, 26, and 28 has a corresponding queue 30, 32, 34, 36, and 38 in which ATM cells may be stored prior to further processing.
The system 10 also includes a conventional scheduler 40 and an entrance to or exit from the network 42. Thus, the flows 20, 22, 24, 26, and 28 are either entering or exiting the network of which the conventional system 10 is a part. The conventional scheduler 40 also has knowledge of the ATM service category and, therefore, the parameters for each of the flows 20, 22, 24, 26, and 28. The conventional scheduler 40 monitors the traffic for each of the flows 20, 22, 24, 26, and 28. In particular, the conventional scheduler 40 monitors each packet, or cell, for each flow 22, 24, 26, and 28. Based upon the ATM service categories and parameters for the flows 20, 22, 24, 26, and 28, and the traffic in each of the flows 20, 22, 24, 26, and 28, the conventional scheduler 40 determines from which corresponding queue 30, 32, 34, 36, and 38, respectively, to select the next packet for processing. The conventional scheduler 40 thus selects an ATM cell from one of the queues 30, 32, 34, 36, or 38 and outputs the ATM cell to the entrance or exit from the network 42. Thus, ATM traffic having different levels of service can be managed.
Although the conventional method 10 functions, one of ordinary skill in the art will readily recognize that the conventional scheduler 40 is complex. The conventional scheduler 40 understands the ATM service category for each flow 20, 22, 24, 26, and 28. The conventional scheduler 40 also obtains data relating to each ATM cell in each flow 20, 22, 24, 26, and 28. Thus, the conventional scheduler 40 must monitor the flow of each packet out of each queue 30, 32, 34, 36, and 38. The conventional scheduler 40 also transmits packets for each flow 20, 22, 24, 26, and 28 such that the ATM service parameters are met for each flow 20, 22, 24, 26, and 28. In order to perform all of these services on the individual ATM cell level, the conventional scheduler 40 is complex.
Furthermore, the conventional ATM scheduler 40 does not in itself provide for a mechanism to discard excess traffic. Discards may be managed by comparing the occupancy of Queue 130 with a threshold and discarding arriving traffic if and only if the threshold is exceeded. The same policy may be applied to Queue 2 32 and so on. However, if such a threshold has a relatively low value, then bursts of traffic may be unnecessarily discarded; if a threshold has relatively high value, then during an episode of steady congestion, all surviving packets may have undesirably high queueing latency. Therefore, setting discard thresholds may present the administrator with burdensome and confusing performance requirements. Consequently, providing different levels of ATM services in a conventional manner may be relatively difficult and inefficient.
Accordingly, what is needed is a system and method for providing better management of different levels of ATM services. The present invention addresses such a need.